1. Field of the Invention
This invention relates to computer systems, and more particularly, to register cells.
2. Description of the Related Art
Multi-ported register files are well known. These types of register files typically include a plurality of read ports and a plurality of write ports to allow multiple concurrent reads and/or writes. Multi-ported register files include main cells and history cells. The main cells store the active state of the register file, while the history cells store contents that were previously stored in the main cells. Multi-ported register files such as this are typically used in applications where it may be necessary to recover a previous state of the main cells from the history cells (e.g., in processors configured for speculative execution).
In various implementations, the history cells of a multi-ported register file are constructed by coupling a plurality of history cells to a main cell. This method of constructing multi-ported register files configured to store a history can be very inefficient. Coupling a number of history cells to a main cell can lead to problems such as leakage and bi-polar effect. The problems of leakage currents and bi-polar effects may become more severe as more history cells are added. Furthermore, reading and/or writing to the history cells may require a number of cycles of the multi-ported register file. Various methods may be used to combat the problems of leakage currents and bi-polar effects, as well as reducing the amount of time necessary to read and/or write to the history cells. However, many such solutions require extra circuitry, causing the multi-ported register file to become less area-efficient.